package models;

import java.util.Random;

import models.msgs.Card;

/*public class Deck 
{
	static String[] ranks = {"2", "3", "4" ,"5", "6", "7", 
									 "8", "9", "10", "JACK", "QUEEN", "KING", "AS"};
	static String[] suits = {"CLUB", "DIAMOND", "SPADE", "HEART"};
	
	static Card giveCard(int nr) 
	{
		int r = nr % 13;
		int s = nr % 4;		
		return new Card(ranks[r], suits[s]);
	}
	
}
*/
public class Deck {
	
	
	Random gen = new Random();
	Card deck[] = new Card[52];
	private int i = 0;
	
	public Deck() {	//Konstruktor wywołujący metody
		FillDeck();
		Shuffle();
	}
	
	public void FillDeck() {	//uzupełnienie talii najpierw kolorami   SPRAWDZIĆ!!
		int i, j, k = 0;
		for (i = 0; i < 4; i++) {
			for (j = 0; j < 13; j++) {
				deck[k] = new Card(j, i);
				k++;
			}
		}
	}
	
	public void Shuffle() {	//Tasowanie kart jedną połowę przetasowywuję z drugą 4 razy
		int i, j, rand;
		Card pomoc;
		for (j = 0; j < 4; j++) {
			for (i = 51; i >= 26; i--) {
				rand = gen.nextInt(26);
				pomoc = deck[rand];
				deck[rand] = deck[i];
				deck[i] = pomoc;
			}	
		}
		//i=0;
	}
	
	public Card GetCard() {	//Pobranie kolejnej karty z tali
		Card card;
		card = deck[i];
		i++;
		return card;
	}
}
